package ${basePackage}.service.system;

import ${basePackage}.core.model.PageData;
import ${basePackage}.core.model.PageWrap;
import ${basePackage}.dao.system.dto.QuerySystemJobLogDTO;
import ${basePackage}.dao.system.model.SystemJobLog;
import java.util.List;

public interface SystemJobLogService {

    /**
     * 创建
     * 
     * @param systemJobLog 实体对象
     * @return Integer
     */
    Integer create(SystemJobLog systemJobLog);

    /**
     * 主键删除
     *
     * @param id 主键
     */
    void deleteById(Integer id);

    /**
     * 删除
     *
     * @param systemJobLog 实体对象
     */
    void delete(SystemJobLog systemJobLog);

    /**
     * 批量主键删除
     *
     * @param ids 主键集
     */
    void deleteByIdInBatch(List<Integer> ids);

    /**
     * 主键更新
     *
     * @param systemJobLog 实体对象
     */
    void updateById(SystemJobLog systemJobLog);

    /**
     * 批量主键更新
     *
     * @param systemJobLogs 实体集
     */
    void updateByIdInBatch(List<SystemJobLog> systemJobLogs);

    /**
     * 主键查询
     *
     * @param id 主键
     * @return SystemJobLog
     */
    SystemJobLog findById(Integer id);

    /**
     * 条件查询单条记录
     *
     * @param systemJobLog 实体对象
     * @return SystemJobLog
     */
    SystemJobLog findOne(SystemJobLog systemJobLog);

    /**
     * 条件查询
     *
     * @param systemJobLog 实体对象
     * @return List<SystemJobLog>
     */
    List<SystemJobLog> findList(SystemJobLog systemJobLog);
  
    /**
     * 分页查询
     *
     * @param pageWrap 分页对象
     * @return PageData<SystemJobLog>
     */
    PageData<SystemJobLog> findPage(PageWrap<QuerySystemJobLogDTO> pageWrap);

    /**
     * 条件统计
     *
     * @param systemJobLog 实体对象
     * @return long
     */
    long count(SystemJobLog systemJobLog);
}
